# -*- coding: utf-8 -*-
"""
MCP Server 主程序

1. 这是一个基于 FastMCP 框架的 MCP 服务器
2. 服务器运行在端口 3002，通过 HTTP 传输协议提供服务
3. 服务器启动后，会自动扫描当前目录下的 tools 目录，将其中的工具注册到 MCP 服务器中


@Author: rslai
@Email: netlrs@163.com
@Date: 2025-09-16
"""
import os
from fastmcp import FastMCP
from base.tool_registry import ToolRegistry

# 创建MCP服务器实例，指定端口
mcp = FastMCP("Weather Service")

# 创建工具注册器
registry = ToolRegistry(mcp)

# 扫描tools目录中的所有工具
if __name__ == "__main__":
    # 获取当前脚本所在目录
    current_dir = os.path.dirname(os.path.abspath(__file__))
    tools_dir = os.path.join(current_dir, "tools")
    
    # 如果tools目录存在，扫描其中的工具
    if os.path.exists(tools_dir):
        print(f"扫描工具目录: {tools_dir}")
        registry.scan_directory(tools_dir)
    else:
        print("tools目录不存在，扫描当前目录...")
        registry.scan_directory(current_dir)
    
    # 打印注册结果
    print(f"已注册工具: {len(registry.registered_tools)} 个")
    print(f"已注册资源: {len(registry.registered_resources)} 个")
    
    # 启动服务器
    mcp.run(transport="http", port=3002, host="0.0.0.0", path="/mcp_atlas")